GPS-based turn-by-turn navigation systems must effectively manage inaccurate GPS fixes during a navigation routine. This is especially true in certain environments such as urban areas, so-called “urban canyons”, where the statistical variance of the GPS output can vary widely. The determination of whether or not a user has veered off-route during the navigation routine, and thus whether or not an application should reroute the user is an important, non-trivial decision that directly effects user experience.
Navigation systems rely on algorithmic heuristics to determine if and when a user has diverted from a route generated for them by the system. For example, the user may have missed a turn, or turned incorrectly. Once a navigation system has determined that the user has veered off-route, the system will typically compute an updated route and provide the new route to the user. Off-route heuristics of known systems typically include a number of fixed, distance-based parameters or thresholds. Such heuristics may enable a process for example in which a latest GPS position fix locates a user at X meters from a proscribed route, where if X is greater than a predetermined fixed threshold T distance, such as 200 meters, the user is considered off-route and rerouting is triggered. Due to the dynamic nature of GPS-based location accuracy, choosing a fixed threshold (or thresholds) often leads to an incorrect determination that a user is off-route resulting in unnecessary and confusing rerouting of the user.
There is a growing demand for voice-prompted turn-by-turn navigation systems, including navigation systems incorporated into mobile cellular devices and specialized hardware devices, including for example GPS-enabled cellular telephones and portable navigation devices “PNDs”. These systems leverage GPS technology, including assisted GPS variants, to provide location and navigation services.
It would be desirable to provide a system or method for managing and correcting inaccurate GPS fixes determined by a navigation system. Such a system or method should implement navigation routines with reduced occurrences of incorrect off-route determinations and reduced occurrences of erroneous rerouting.